I. Field
The present disclosure relates generally to electronics, and more specifically to techniques for booting a wireless device at power up.
II. Background
A wireless device (e.g., a cellular phone) typically operates based on program codes that control the hardware within the wireless device and support various designed functions. The program codes may be stored in a bulk non-volatile memory and may be loaded into a faster volatile memory at power up. The bulk non-volatile memory may be a NAND Flash that can economically store a large amount of data but can only be accessed one page at a time. A page may be the smallest unit of data that can be retrieved from the NAND Flash and may be four kilobytes (KB) or some other size. The faster volatile memory may be a synchronous dynamic random access memory (SDRAM) that can support random access. The memories may be selected to provide the desired storage capacity and access capability and to be as economical as possible.
When the wireless device is powered up, all of the program codes may be loaded from the bulk non-volatile memory into the faster volatile memory. Once all of the program codes have been loaded, the wireless device may be enabled to accept user inputs and perform user selected functions. The amount of program codes to load at power up may be large, and the boot time may be relatively long. Hence, the user may need to wait an extended period of time before the wireless device is operational.